/**
 * Copyright (c) 2018-2028.
 * <p>
 * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p>
 * http://www.gnu.org/licenses/lgpl.html
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.sailmi.oss.props;

import com.sailmi.common.tool.support.Kv;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;

/**
 * Minio参数配置类
 *
 *
 */

@Component
@ConfigurationProperties(prefix = "ucs.oss.general")
public class OssProperties {
	/**
	 * 是否启用
	 */
	private Boolean enabled;

	/**
	 * 生成文件名中是否按日期路径生成,请注意，如果是采用https，不要开启enablePath
	 */
	private Boolean enablePath;


	/**
	 * 对象存储名称
	 */
	private String provider;

	/**
	 * 文件的访问地址，对于本地存储且没有文件服务器的用户使用
	 */
	private String providerDriver;

	/**
	 * 是否开启租户模式
	 */
	private Boolean tenantMode;

	/**
	 * 自定义属性
	 */
	private Kv args;

	public Boolean getEnabled() {
		return enabled;
	}

	public void setEnabled(Boolean enabled) {
		this.enabled = enabled;
	}

	public Boolean getEnablePath() {
		return enablePath;
	}

	public void setEnablePath(Boolean enablePath) {
		this.enablePath = enablePath;
	}

	public String getProvider() {
		return provider;
	}

	public void setProvider(String provider) {
		this.provider = provider;
	}

	public String getProviderDriver() {
		return providerDriver;
	}

	public void setProviderDriver(String providerDriver) {
		this.providerDriver = providerDriver;
	}

	public Boolean getTenantMode() {
		return tenantMode;
	}

	public void setTenantMode(Boolean tenantMode) {
		this.tenantMode = tenantMode;
	}

	public Kv getArgs() {
		return args;
	}

	public void setArgs(Kv args) {
		this.args = args;
	}
}
